There has conventionally been a CRC (Cyclic Redundancy Check) method as a method for detecting an error of data. The CRC method includes a “normal CRC mode” and a “rolling CRC mode”. The method has been known as disclosed in, for example, U.S. Patent Application Publication 2004/0098655, Japanese Laid-open Patent Publication No. 2004-357284, Japanese Laid-open Patent Publication No. 07-123134, Japanese Laid-open Patent Publication No. 2000-197626, and Japanese Laid-open Patent Publication No. 10-301860.
The “normal CRC mode” is a verification mode for verifying the presence or absence of error of data included in a packet by using data and check bit included in the packet. On the other hand, the “rolling CRC mode” is a verification mode for verifying the presence or absence of error of data included in a first packet received immediately before a second packet by using data included in the second packet and data and check bit included in the first packet.
However, a conventional technology has a problem in that a detection accuracy for detecting an error of data is low and a latency time increases.
Packet communication requires decreasing the bit length of check bit included in one packet and increasing the amount of data included in the packet. However, when the bit length of check bit used in data error detection is the same, the “normal CRC mode” has a low detection accuracy in the detection of data error as compared with the “rolling CRC mode”. For example, the normal CRC mode may not detect data corruption caused by the partial disconnection of a packet transmission line.
The “rolling CRC mode” has a high error detection rate for a packet as compared with the normal CRC mode. However, the “rolling CRC mode” has a problem in that a verification time from the reception of a packet to the error verification of data included in the packet is longer than that of a “normal CRC mode” and a latency time increases because packet error detection can be performed only after receiving a plurality of packets.